Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory, including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), flash memory, and resistive (e.g., resistance variable) memory, among others. Types of resistive memory include programmable conductor memory, phase change random access memory (PCRAM), and resistive random access memory (RRAM), among others.
Memory devices are utilized as non-volatile memory for a wide range of electronic applications in need of high memory densities, high reliability, and low power consumption. Non-volatile memory may be used in, for example, personal computers, portable memory sticks, solid state drives (SSDs), digital cameras, cellular telephones, portable music players such as MP3 players, movie players, and other electronic devices.
Memory devices may include a number of memory cells arranged in a matrix (e.g., array). For example, an access device, such as a diode, a field effect transistor (FET), or bipolar junction transistor (BJT), for a memory cell may be coupled to an access line (e.g., word line) forming a “row” of the array. Each memory cell may be coupled to a data line (e.g., bit line) in a “column” of the array. In this manner, the access device of a memory cell may be accessed through a row decoder activating a row of memory cells by selecting the word line coupled to their gates. The programmed state of a selected memory cell may be determined (e.g., sensed) by causing different currents, to flow in the memory cell depending on the resistance associated with a programmed state for a particular memory cell.
Memory cells may be programmed (e.g., written) to a desired state. That is, one of a number of programmed states (e.g., resistance levels) can be set for a memory cell. For example, a single level cell (SLC) can represent one of two logic states (e.g., 1 or 0). Resistive memory cells can also be programmed to one of more than two programmed states, such as to represent more than two binary digits (e.g., 1111, 0111, 0011, 1011, 1001, 0001, 0101, 1101, 1100, 0100, 0000, 1000, 1010, 0010, 0110, or 1110). Such cells may be referred to as multi state memory cells, multi-digit cells, or multilevel cells (MLCs).
Oxide based memory devices such as RRAM may store data by varying the resistance level of a resistive memory element. Data may be programmed to a selected RRAM cell by applying sources of energy, such as positive or negative electrical pulses (e.g., positive or negative voltage or current pulses) to a particular resistive memory element for a predetermined duration. RRAM cells may be programmed to a number of resistance levels by application of voltages or currents of various magnitudes, polarities, and durations.